#define _CRT_SECURE_NO_WARNINGS 1

//#ifndef NULL
//	#ifdef __cplusplus
//		#define NULL	 0
//	#else
//		#define NULL	 ((void *)0)
//	#endif
//#endif


//#include <iostream>
//using namespace std;
//
//void f(int x)
//{
//	cout << "f(int x)" << endl;
//}
//
//void f(int* ptr)
//{
//	cout << "f(int* ptr)" << endl;
//}
//
//void f(char* ptr)
//{
//	cout << "f(char* ptr)" << endl;
//}
//
//void f(void* ptr)
//{
//	cout << "f(void* ptr)" << endl;
//}
//
//int main()
//{
//	f(0);
//	f(NULL);
//	f((int*)NULL);
//	//f((void*)NULL);
//
//	f((char*)nullptr);
//
//	return 0;
//}



//#include <iostream>
//using namespace std;
//
//void f(int x)
//{
//	cout << "f(int x)" << endl;
//}
//
//void f(int* ptr)
//{
//	cout << "f(int* ptr)" << endl;
//}
//
//int main()
//{
//	f(nullptr);
//	return 0;
//}


//#include <iostream>
//using namespace std;
//
//void f(int x)
//{
//	cout << "f(int x)" << endl;
//}
//
//void f(int* ptr)
//{
//	cout << "f(int* ptr)" << endl;
//}
//
//void f(char* ptr)
//{
//	cout << "f(char* ptr)" << endl;
//}
//
//void f(void* ptr)
//{
//	cout << "f(void* ptr)" << endl;
//}
//
//int main()
//{
//	f(0);
//	f(NULL);
//	f((int*)NULL);
//	//f((void*)NULL);
//
//	f((char*)nullptr);
//
//	return 0;
//}

#include <iostream>

using namespace std;

int& add(int a, int b)
{
	int c = a + b;
	return c;
}

int main()
{
	int a = 1, b = 2;
	
	add(a, b) += 10;
	
	cout << add(a, b) << endl;

	return 0;
}